package com.github.javiersantos.appupdater.demo; import android.content.Context; import android.content.Intent; import android.databinding.DataBindingUtil; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import com.github.javiersantos.appupdater.AppUpdater; import com.github.javiersantos.appupdater.demo.databinding.ActivityMainBinding; import com.github.javiersantos.appupdater.enums.Display; import com.github.javiersantos.appupdater.enums.UpdateFrom; public class MainActivity extends AppCompatActivity { private Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); this.context = this; setSupportActionBar(binding.toolbar); binding.fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/javiersantos/AppUpdater"))); } }); binding.included.dialogUpdateChangelog.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) //.setUpdateFrom(UpdateFrom.GITHUB) //.setGitHubUserAndRepo("javiersantos", "AppUpdater") .setUpdateFrom(UpdateFrom.JSON) .setUpdateJSON("https://raw.githubusercontent.com/javiersantos/AppUpdater/master/app/update-changelog.json") .setDisplay(Display.DIALOG) .showAppUpdated(true) .start(); } }); binding.included.dialogUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) //.setUpdateFrom(UpdateFrom.GITHUB) //.setGitHubUserAndRepo("javiersantos", "AppUpdater") .setUpdateFrom(UpdateFrom.JSON) .setUpdateXML("https://raw.githubusercontent.com/javiersantos/AppUpdater/master/app/update.json") .setDisplay(Display.DIALOG) .showAppUpdated(true) .start(); } }); binding.included.snackbarUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) //.setUpdateFrom(UpdateFrom.GITHUB) //.setGitHubUserAndRepo("javiersantos", "AppUpdater") .setUpdateFrom(UpdateFrom.XML) .setUpdateXML("https://raw.githubusercontent.com/javiersantos/AppUpdater/master/app/update.xml") .setDisplay(Display.SNACKBAR) .showAppUpdated(true) .start(); } }); binding.included.notificationUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) //.setUpdateFrom(UpdateFrom.GITHUB) //.setGitHubUserAndRepo("javiersantos", "AppUpdater") .setUpdateFrom(UpdateFrom.XML) .setUpdateXML("https://raw.githubusercontent.com/javiersantos/AppUpdater/master/app/update.xml") .setDisplay(Display.NOTIFICATION) .showAppUpdated(true) .start(); } }); binding.included.dialogNoUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) .setUpdateFrom(UpdateFrom.GOOGLE_PLAY) .setDisplay(Display.DIALOG) .showAppUpdated(true) .start(); } }); binding.included.snackbarNoUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) .setUpdateFrom(UpdateFrom.GOOGLE_PLAY) .setDisplay(Display.SNACKBAR) .showAppUpdated(true) .start(); } }); binding.included.notificationNoUpdate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new AppUpdater(context) .setUpdateFrom(UpdateFrom.GOOGLE_PLAY) .setDisplay(Display.NOTIFICATION) .showAppUpdated(true) .start(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.action_settings: startActivity(new Intent(this, SettingsActivity.class)); return true; default: return super.onOptionsItemSelected(item); } } }